package bestTeam.WalkieDoggie.client.ServicesInterfaces;

import java.util.List;

import bestTeam.WalkieDoggie.client.Location;
import bestTeam.WalkieDoggie.client.Serializables.LoginInfo;
import bestTeam.WalkieDoggie.client.Serializables.UserProfileData;
import bestTeam.WalkieDoggie.server.Persistant.AppUser;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface FacebookUsersServiceAsync {
  //public void login(String requestUri, AsyncCallback<LoginInfo> async);

void addAppUser(UserProfileData userData, String accessToken,
		AsyncCallback<Void> callback);

void setCredits(String id, Integer delta, AsyncCallback<Void> callback);

void getUsers(String[] usersId, AsyncCallback<UserProfileData[]> callback);

public void getAllAppUser(AsyncCallback<List<UserProfileData>> callback);

void facebookLogin(String code, String clientId, String loginRedirectURL,
		String secret, AsyncCallback<LoginInfo> callback);

void setRanking(String id, double ranking, AsyncCallback<Double> callback);

void updateUserGeoLocation(String id, Location location,
		AsyncCallback<Void> callback);
public void sendDailyEmail(UserProfileData u,AsyncCallback<Void> callback);

void setImage(AsyncCallback<Void> callback);

void getUser(String userId, AsyncCallback<UserProfileData> callback);


}